#我们把只包含因子2、3 和5 的数称作丑数（Ugly Number）。
# 例如6、8 都是丑数，但14 不是，因为它包含因子7。
# 习惯上我们把1 当做是第一个丑数。
# 求按从小到大的顺序输出1500 个丑数。
# 十个一行。
if __name__ == '__main__':
    def is_ugly(num):
        if num < 1:
            return False
        for yinzi in [2, 3, 5]:
            while num % yinzi == 0:
                num //= yinzi
        return num == 1


    def generate_ugly_numbers(n):
        ugly_numbers = []
        num = 1
        while len(ugly_numbers) < n:
            if is_ugly(num):
                ugly_numbers.append(num)
            num += 1
        return ugly_numbers


    if __name__ == '__main__':
        n = 1500
        ugly_numbers = generate_ugly_numbers(n)
        for i in range(0, n, 10):
            print(ugly_numbers[i:i + 10])


